package cn.iocoder.yudao.module.tms.controller.admin.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 公司产品信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class OrderRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "26968")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "关联的公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2442")
    @ExcelProperty("关联的公司ID")
    private Long companyId;

    @Schema(description = "公司简称", example = "XX公司")
    @ExcelProperty("公司简称")
    private String companyShortName;

    @Schema(description = "客户单号")
    @ExcelProperty("客户单号")
    private String clientNumber;

    @Schema(description = "英文品名", example = "张三")
    @ExcelProperty("英文品名")
    private String englishName;

    @Schema(description = "中文品名", example = "李四")
    @ExcelProperty("中文品名")
    private String chineseName;

    @Schema(description = "海关编码")
    @ExcelProperty("海关编码")
    private String hsCode;

    @Schema(description = "数量（个）")
    @ExcelProperty("数量（个）")
    private Integer quantity;

    @Schema(description = "件数", example = "28377")
    @ExcelProperty("件数")
    private Integer packageCount;

    @Schema(description = "毛重")
    @ExcelProperty("毛重")
    private BigDecimal grossWeight;

    @Schema(description = "体积")
    @ExcelProperty("体积")
    private BigDecimal volume;

    @Schema(description = "材质")
    @ExcelProperty("材质")
    private String material;

    @Schema(description = "用途")
    @ExcelProperty("用途")
    private String purpose;

    @Schema(description = "订单图片路径")
    @ExcelProperty("订单图片路径")
    private List<String> orderPhoto;

    @Schema(description = "单价（USD）", example = "28933")
    @ExcelProperty("单价（USD）")
    private BigDecimal unitPrice;

    @Schema(description = "总价（USD）", example = "24411")
    @ExcelProperty("总价（USD）")
    private BigDecimal totalPrice;

    @Schema(description = "型号")
    @ExcelProperty("型号")
    private String modelNumber;

    @Schema(description = "品牌")
    @ExcelProperty("品牌")
    private String brand;

    @Schema(description = "系统单号")
    @ExcelProperty("系统单号")
    private String systemNumber;

    @Schema(description = "清关方式")
    @ExcelProperty("清关方式")
    private String clearanceMethod;

    @Schema(description = "单证类型", example = "2")
    @ExcelProperty("单证类型")
    private String certificateType;

    @Schema(description = "渠道类型", example = "2")
    @ExcelProperty("渠道类型")
    private String channelType;

    @Schema(description = "订单性质")
    @ExcelProperty("订单性质")
    private String orderProperty;

    @Schema(description = "产品状态")
    @ExcelProperty("产品状态")
    private String processStatus;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}